
package com.hlkj.pay.service.ad;
/*
 * Hlpay-Plus aggregate payment system.
 * Copyright (c) 2024-2025 Hlpay Team Copyright has the right of final interpretation.
 */

import com.hlkj.framework.common.pojo.PageResult;
import com.hlkj.pay.dto.ad.AdRefundOrderDto;
import com.hlkj.pay.dto.ad.query.AdRefundOrderQueryDto;
import com.hlkj.pay.infrastructure.model.ad.AdRefundOrderApplyDO;
import com.hlkj.pay.infrastructure.model.ad.AdRefundOrderDO;

/**
 * @author HlpayTeam
 * @date 2024/10/23 11:38
 */
public interface IAdRefundOrderService {

    /**
     * 
     * @param adInfoQueryDO
     * @return
     */
    PageResult<AdRefundOrderDto> queryPage(AdRefundOrderQueryDto adInfoQueryDO);
    /**
     *
     * @param adInfoQueryDO
     * @return
     */
    PageResult<AdRefundOrderApplyDO> queryApplyPage(AdRefundOrderQueryDto adInfoQueryDO);

    /**
     * 
     * @param mchOrderNo
     * @return
     */
    AdRefundOrderDO queryDetail(String refundOrderNo);

    /**
     *
     * @param mchOrderNo
     * @return
     */
    AdRefundOrderApplyDO queryLastOne(String mchOrderNo);

    /**
     *
     * @param refundApplyNo
     * @return
     */
    AdRefundOrderApplyDO queryByRefundApplyNo(String refundApplyNo);

    /**
     * 
     * @param adRefundOrderApplyDO
     */
    void addRefundOrderApply(AdRefundOrderApplyDO adRefundOrderApplyDO);

    /**
     * 
     * @param adRefundOrderApplyDO
     */
    void updateRefundOrderApply(AdRefundOrderApplyDO adRefundOrderApplyDO);
    /**
     *
     * @param refundOrderNo
     * @param refundApplyNo
     * @param updateRefundOrderDO
     */
    void updateRefundOrder(String refundOrderNo, String refundApplyNo, AdRefundOrderDO updateRefundOrderDO);
    /**
     *
     * @param adRefundOrderDO
     */
    void addRefundOrder(AdRefundOrderDO adRefundOrderDO);

}
